package com.softer.wxzj.service;

import com.github.pagehelper.PageInfo;
import com.softer.wxzj.common.entity.CommonResult;
import com.softer.wxzj.common.entity.Page;
import com.softer.wxzj.entity.BaseRegionInfo;
import com.softer.wxzj.entity.DepositAudit;

import java.util.List;

/**
 * @author Gong Zhiyang
 * @date 2019/6/26
 */
public interface DepositAuditService {
    /**
     * 交存审核
     *
     * @param list    审核ID
     * @param opinion 审批意见
     * @param mark    审批通过 audit_pass
     *                审批否决 audit_veto
     *                审批退回 audit_back
     * @return 操作结果
     */
    CommonResult audit(List<String> list, String opinion, String mark);

    /**
     * 精确查询/模糊查询 待审核列表
     *
     * @param page           分页信息
     * @param baseRegionInfo 精确查询实体
     * @param arcType        图档类型（逗号分隔）
     * @return 待审核列表
     */
    PageInfo<BaseRegionInfo> getAuditList(Page page, BaseRegionInfo baseRegionInfo, String arcType);

    /**
     * 查询单个小区交存审核列表
     * @param id   小区ID
     * @return 审核列表
     */
    List<DepositAudit> getAuditListByRegionId(String id);

    /**
     * 交存全部审核
     *
     * @param id      小区ID
     * @param opinion 审批意见
     * @param mark    审批通过 audit_pass
     *                审批否决 audit_veto
     *                审批退回 audit_back
     * @return 操作结果
     */
    CommonResult auditAll(String id, String opinion, String mark);
    /**
     * 交存审核查询列表
     *
     * @param page         分页实体
     *                     pageNum 页码
     *                     pageSize 每页条数
     * @param depositAudit 查询实体
     *                     regionName 小区名称
     *                     regionNo 小区编码
     *                     houseSite房屋地址
     *                     flowState 审核状态
     *                     creater 申请人
     * @param fuzzy        模糊查询字段
     * @return 审核查询列表
     */
    PageInfo<DepositAudit> getAuditSearchList(Page page, DepositAudit depositAudit, String fuzzy);
}
